﻿using RndMaterialDisposalService.Models.Entitys;

namespace RndMaterialDisposalService.Models.RequestModel
{
    /// <summary>
    /// 
    /// </summary>
    public class NewProductApplyFormData
    {
        /// <summary>
        /// 
        /// </summary>
        public DateTime? ApplicantDate { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? Applicant { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? ApplicantId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public FormHeader FormHeader { get; set; } = new FormHeader();
        /// <summary>
        /// 
        /// </summary>
        public List<Attachment> UploadFiles { get; set; } = new List<Attachment>();
        /// <summary>
        /// 
        /// </summary>
        public string? Signature { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? DeptName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? Mobile { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? ProjectName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? ProjectCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? ProductAddress { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? DevelopAddress { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<string>? ProductModelReamrk { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? ProjectManagerNoteID { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? DevelopManagerNoteID { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? ProjectPlanTracker { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? MaterialPlanTracker { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? PlanningDepartment { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? TestingDepartment { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? DataCenter { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? TrialManufactureEngineer { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? HardwareEngineer { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? SoftwareEngineer { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? StructuralEngineer { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? CostEngineer { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? DeviceItemEngineer { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? ProjectManagementEngineer { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? ElectronicEngineer { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? EquipmentEngineer { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DateTime? AcceptanceDate { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? RemarkChecklist1 { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? RemarkChecklist2 { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? RemarkChecklist3 { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? RemarkChecklist4 { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? RemarkChecklist5 { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? RemarkChecklist6 { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? RemarkChecklist7 { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public UserModel? ProjectManagerItem { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public UserModel? ProjectGroupLeaderItem { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public UserModel? DevelopmentalEngineerItem { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public UserModel? TestEngineerItem { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public UserModel? StructuralEngineerItem { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public UserModel? ElectronicEngineerItem { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public UserModel? CostEngineerItem { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public UserModel? EquipmentEngineerItem { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public SelectItem? DevelopManagerOption { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public SelectItem? ProjectPlanTrackerOption { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public SelectItem? MaterialPlanTrackerOption { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public SelectItem? PlanningDepartmentOption { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public SelectItem? TestingDepartmentOption { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public SelectItem? DataCenterOption { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<ProductModelDto>? ERPDeviceInfo { get; set; }
    }


    /// <summary>
    /// 
    /// </summary>
    public class SelectItem
    {
        /// <summary>
        /// 
        /// </summary>
        public string? Key { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? Label { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? Value { get; set; }
    }
}
